<?php
App::uses('AppController', 'Controller');
/**
 * Societes Controller
 *
 * @property Societe $Societe
 */
class SocietesController extends AppController {


/**
 * admin_index method
 *
 * @return void
 */
	public function admin_index() {
		$this->Societe->recursive = 0;
		$this->set('societes', $this->paginate());
	}

/**
 * index method
 *
 * @return void
 */
	public function index() {
		$this->Societe->recursive = 0;
		$this->set('societes', $this->paginate());
	}

/**
 * admin_view method
 *
 * @param string $id
 * @return void
 */
	public function admin_view($id = null) {
		$this->Societe->id = $id;
		if (!$this->Societe->exists()) {
			throw new NotFoundException(__('Invalid societe'));
		}
		$this->set('societe', $this->Societe->read(null, $id));
	}

/**
 * admin_add method
 *
 * @return void
 */
	public function admin_add() {
		if ($this->request->is('post')) {
			$this->Societe->create();
			if ($this->Societe->save($this->request->data)) {
				$this->Session->setFlash(__('La société a été enregistrée.', 'flash_success'));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('La société n\'a pas été enregistrée, merci de réessayer.'));
			}
		}
	}

/**
 * creer_societe method
 *
 * @return void
 */
	public function creer() {
		if ($this->request->is('post')) {
			$this->Societe->create();
			if ($this->Societe->save($this->request->data)) {
				$this->Session->write('utilisateur.id_societe', $this->Societe->getInsertId());
				$this->Session->write('utilisateur.nombre_de_site', $this->request->data('Societe.nombre_de_site'));
				// lorsqu'on créé une société, on lui associe un questionnaire
				$this->loadModel('Questionnaire');
				$this->Questionnaire->create();
				$this->Questionnaire->set('id_utilisateur', $this->Session->read('utilisateur.id'));
				$this->Questionnaire->set('id_societe', $this->Societe->getInsertId());
				if ($this->Questionnaire->save($this->Questionnaire->data)) {
					$this->Session->write('utilisateur.id_questionnaire', $this->Questionnaire->getInsertId());
					$this->redirect(array('controller'=>'sites', 'action' => 'creer'));
				}
				else {
					
					$this->Session->setFlash(__('Erreur d\'enregistrement du devis'));
				}
			}
			else {
				$this->Session->setFlash(__('Erreur d\'enregistrement de la société'));
			}
		}
	}

/**
 * admin_edit method
 *
 * @param string $id
 * @return void
 */
	public function admin_edit($id = null) {
		$this->Societe->id = $id;
		if (!$this->Societe->exists()) {
			throw new NotFoundException(__('Société invalide'));
		}
		if ($this->request->is('post') || $this->request->is('put')) {
			if ($this->Societe->save($this->request->data)) {
				$this->Session->setFlash(__('La société a été enregistrée.', 'flash_success'));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('La société n\'a pas été enregistrée, merci de réessayer.'));
			}
		} else {
			$this->request->data = $this->Societe->read(null, $id);
		}
	}

/**
 * admin_delete method
 *
 * @param string $id
 * @return void
 */
	public function admin_delete($id = null) {
		if (!$this->request->is('post')) {
			throw new MethodNotAllowedException();
		}
		$this->Societe->id = $id;
		if (!$this->Societe->exists()) {
			throw new NotFoundException(__('Société invalide'));
		}
		if ($this->Societe->delete()) {
			$this->Session->setFlash(__('Société supprimée', 'flash_success'));
			$this->redirect(array('action' => 'index'));
		}
		$this->Session->setFlash(__('La société n\'a pas été supprimée.'));
		$this->redirect(array('action' => 'index'));
	}
}
